From 5836055c4feb4a077f98c9a981cc9667d066de80 Mon Sep 17 00:00:00 2001 From: Slava Shklyaev Date: Tue, 16 Jun 2020 10:26:29 +0100 Subject: Remove unknown rank control flow tests from VTS Fix: 159076604 Test: m Change-Id: I44f31a004309594f03ef7eadf10c2ff51097e954 --- .../spec_V1_3/if_simple_dynamic.example.cpp | 6286 -- .../spec_V1_3/while_fib_dynamic.example.cpp | 77606 ------------------- .../if_simple_dynamic.example.cpp | 6286 ++ .../while_fib_dynamic.example.cpp | 77606 +++++++++++++++++++ .../test/specs/V1_3/if_simple_dynamic.mod.py | 48 - .../test/specs/V1_3/while_fib_dynamic.mod.py | 134 - .../specs/V1_3_cts_only/if_simple_dynamic.mod.py | 48 + .../specs/V1_3_cts_only/while_fib_dynamic.mod.py | 134 + 8 files changed, 84074 insertions(+), 84074 deletions(-) delete mode 100644 nn/runtime/test/generated/spec_V1_3/if_simple_dynamic.example.cpp delete mode 100644 nn/runtime/test/generated/spec_V1_3/while_fib_dynamic.example.cpp create mode 100644 nn/runtime/test/generated/spec_V1_3_cts_only/if_simple_dynamic.example.cpp create mode 100644 nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_dynamic.example.cpp delete mode 100644 nn/runtime/test/specs/V1_3/if_simple_dynamic.mod.py delete mode 100644 nn/runtime/test/specs/V1_3/while_fib_dynamic.mod.py create mode 100644 nn/runtime/test/specs/V1_3_cts_only/if_simple_dynamic.mod.py create mode 100644 nn/runtime/test/specs/V1_3_cts_only/while_fib_dynamic.mod.py (limited to 'nn/runtime') diff --git a/nn/runtime/test/generated/spec_V1_3/if_simple_dynamic.example.cpp b/nn/runtime/test/generated/spec_V1_3/if_simple_dynamic.example.cpp deleted file mode 100644 index 71565f270..000000000 --- a/nn/runtime/test/generated/spec_V1_3/if_simple_dynamic.example.cpp +++ /dev/null @@ -1,6286 +0,0 @@ -// Generated from if_simple_dynamic.mod.py -// DO NOT EDIT -// clang-format off -#include "TestHarness.h" -using namespace test_helper; - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true = TestModelManager::get().add("if_simple_dynamic_true", get_test_model_true()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // y_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_all_inputs_as_internal", get_test_model_true_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_all_outputs_as_internal", get_test_model_true_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_relaxed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_relaxed = TestModelManager::get().add("if_simple_dynamic_true_relaxed", get_test_model_true_relaxed()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_relaxed_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // y_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_relaxed_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_relaxed_all_inputs_as_internal", get_test_model_true_relaxed_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_relaxed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_relaxed_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_relaxed_all_outputs_as_internal", get_test_model_true_relaxed_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_float16() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_float16 = TestModelManager::get().add("if_simple_dynamic_true_float16", get_test_model_true_float16()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_float16_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // y_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_float16_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_float16_all_inputs_as_internal", get_test_model_true_float16_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_float16_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_float16_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_float16_all_outputs_as_internal", get_test_model_true_float16_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_int32() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({10}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_int32 = TestModelManager::get().add("if_simple_dynamic_true_int32", get_test_model_true_int32()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_quant8() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_quant8 = TestModelManager::get().add("if_simple_dynamic_true_quant8", get_test_model_true_quant8()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_quant8_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // y_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // dummy15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({100}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_quant8_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_quant8_all_inputs_as_internal", get_test_model_true_quant8_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_quant8_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // dummy16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({100}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_quant8_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_quant8_all_outputs_as_internal", get_test_model_true_quant8_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_quant8_signed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_quant8_signed = TestModelManager::get().add("if_simple_dynamic_true_quant8_signed", get_test_model_true_quant8_signed()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_quant8_signed_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // y_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // dummy20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({100}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_quant8_signed_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_quant8_signed_all_inputs_as_internal", get_test_model_true_quant8_signed_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_true_quant8_signed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x - .channelQuant = {}, - .data = TestBuffer::createFromVector({true}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // z - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // dummy21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({100}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_true_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_quant8_signed_all_outputs_as_internal", get_test_model_true_quant8_signed_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false = TestModelManager::get().add("if_simple_dynamic_false", get_test_model_false()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // y3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_all_inputs_as_internal", get_test_model_false_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_all_outputs_as_internal", get_test_model_false_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_relaxed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_relaxed = TestModelManager::get().add("if_simple_dynamic_false_relaxed", get_test_model_false_relaxed()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_relaxed_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // y3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_relaxed_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_relaxed_all_inputs_as_internal", get_test_model_false_relaxed_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_relaxed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_relaxed_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_relaxed_all_outputs_as_internal", get_test_model_false_relaxed_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_float16() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_float16 = TestModelManager::get().add("if_simple_dynamic_false_float16", get_test_model_false_float16()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_float16_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // y3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy35 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_float16_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_float16_all_inputs_as_internal", get_test_model_false_float16_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_float16_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy36 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({10.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_float16_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_float16_all_outputs_as_internal", get_test_model_false_float16_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_int32() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({10}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_int32 = TestModelManager::get().add("if_simple_dynamic_false_int32", get_test_model_false_int32()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_quant8() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_quant8 = TestModelManager::get().add("if_simple_dynamic_false_quant8", get_test_model_false_quant8()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_quant8_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // y3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // dummy40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({100}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_quant8_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_quant8_all_inputs_as_internal", get_test_model_false_quant8_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_quant8_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // dummy41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({100}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_quant8_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_quant8_all_outputs_as_internal", get_test_model_false_quant8_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_quant8_signed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_quant8_signed = TestModelManager::get().add("if_simple_dynamic_false_quant8_signed", get_test_model_false_quant8_signed()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_quant8_signed_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 5}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // y3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // dummy45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({100}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {5, 6, 7}, - .outputs = {3}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }}, - .outputIndexes = {4} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_quant8_signed_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_quant8_signed_all_inputs_as_internal", get_test_model_false_quant8_signed_all_inputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - -namespace generated_tests::if_simple_dynamic { - -const TestModel& get_test_model_false_quant8_signed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {0, 3}, - .operands = {{ // x1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({false}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // y3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // z3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // dummy46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({100}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), - .dimensions = {3, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3}, - .outputs = {4}, - .type = TestOperationType::IF - }, { - .inputs = {4, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {7} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // param - .inputIndexes = {0}, - .operands = {{ // y4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3} - }, { // param - .inputIndexes = {0}, - .operands = {{ // y5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({110}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // z5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 100 - }}, - .operations = {{ - .inputs = {0, 1, 2}, - .outputs = {3}, - .type = TestOperationType::SUB - }}, - .outputIndexes = {3} - }} - }; - return model; -} - -const auto dummy_test_model_false_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_quant8_signed_all_outputs_as_internal", get_test_model_false_quant8_signed_all_outputs_as_internal()); - -} // namespace generated_tests::if_simple_dynamic - diff --git a/nn/runtime/test/generated/spec_V1_3/while_fib_dynamic.example.cpp b/nn/runtime/test/generated/spec_V1_3/while_fib_dynamic.example.cpp deleted file mode 100644 index f261eb3ba..000000000 --- a/nn/runtime/test/generated/spec_V1_3/while_fib_dynamic.example.cpp +++ /dev/null @@ -1,77606 +0,0 @@ -// Generated from while_fib_dynamic.mod.py -// DO NOT EDIT -// clang-format off -#include "TestHarness.h" -using namespace test_helper; - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output", get_test_model_n_2_unused_output()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_tensors_as_inputs", get_test_model_n_2_unused_output_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param90 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param91 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_outputs_as_internal", get_test_model_n_2_unused_output_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_relaxed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_relaxed = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed", get_test_model_n_2_unused_output_relaxed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_tensors_as_inputs", get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param95 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_relaxed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param96 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_outputs_as_internal", get_test_model_n_2_unused_output_relaxed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_float16() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_float16 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16", get_test_model_n_2_unused_output_float16()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_tensors_as_inputs", get_test_model_n_2_unused_output_float16_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param100 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_float16_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param101 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_outputs_as_internal", get_test_model_n_2_unused_output_float16_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8", get_test_model_n_2_unused_output_quant8()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_tensors_as_inputs", get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param105 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param106 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_outputs_as_internal", get_test_model_n_2_unused_output_quant8_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_signed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed", get_test_model_n_2_unused_output_quant8_signed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_tensors_as_inputs", get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param110 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param111 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_outputs_as_internal", get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output", get_test_model_n_3_unused_output()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_tensors_as_inputs", get_test_model_n_3_unused_output_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init1_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param115 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param116 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_outputs_as_internal", get_test_model_n_3_unused_output_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_relaxed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_relaxed = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed", get_test_model_n_3_unused_output_relaxed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_tensors_as_inputs", get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init1_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param120 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_relaxed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param121 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_outputs_as_internal", get_test_model_n_3_unused_output_relaxed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_float16() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_float16 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16", get_test_model_n_3_unused_output_float16()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_tensors_as_inputs", get_test_model_n_3_unused_output_float16_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init1_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy35 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param125 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_float16_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy36 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param126 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_outputs_as_internal", get_test_model_n_3_unused_output_float16_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8", get_test_model_n_3_unused_output_quant8()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_tensors_as_inputs", get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init1_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param130 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param131 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_outputs_as_internal", get_test_model_n_3_unused_output_quant8_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_signed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed", get_test_model_n_3_unused_output_quant8_signed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_tensors_as_inputs", get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init1_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param135 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param136 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib1 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_outputs_as_internal", get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output", get_test_model_n_4_unused_output()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_tensors_as_inputs", get_test_model_n_4_unused_output_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param140 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param141 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_outputs_as_internal", get_test_model_n_4_unused_output_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_relaxed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_relaxed = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed", get_test_model_n_4_unused_output_relaxed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_tensors_as_inputs", get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param145 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_relaxed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param146 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_outputs_as_internal", get_test_model_n_4_unused_output_relaxed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_float16() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_float16 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16", get_test_model_n_4_unused_output_float16()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_float16_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_tensors_as_inputs", get_test_model_n_4_unused_output_float16_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy60 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param150 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_float16_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy61 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param151 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_outputs_as_internal", get_test_model_n_4_unused_output_float16_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8", get_test_model_n_4_unused_output_quant8()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_tensors_as_inputs", get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param155 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param156 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_outputs_as_internal", get_test_model_n_4_unused_output_quant8_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_signed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed", get_test_model_n_4_unused_output_quant8_signed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_tensors_as_inputs", get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init2_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param160 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param161 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib2 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_outputs_as_internal", get_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5 = TestModelManager::get().add("while_fib_dynamic_n_5", get_test_model_n_5()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_all_tensors_as_inputs", get_test_model_n_5_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // fib_init3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param165 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param166 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_all_outputs_as_internal", get_test_model_n_5_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_relaxed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_relaxed = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed", get_test_model_n_5_relaxed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_tensors_as_inputs", get_test_model_n_5_relaxed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // fib_init3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param170 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_relaxed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param171 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_outputs_as_internal", get_test_model_n_5_relaxed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_float16() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_float16 = TestModelManager::get().add("while_fib_dynamic_n_5_float16", get_test_model_n_5_float16()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_tensors_as_inputs", get_test_model_n_5_float16_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // fib_init3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy85 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param175 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_float16_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy86 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param176 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_outputs_as_internal", get_test_model_n_5_float16_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8", get_test_model_n_5_quant8()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_tensors_as_inputs", get_test_model_n_5_quant8_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // fib_init3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy90 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param180 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy91 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param181 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_outputs_as_internal", get_test_model_n_5_quant8_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_signed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed", get_test_model_n_5_quant8_signed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_tensors_as_inputs", get_test_model_n_5_quant8_signed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // fib_init3_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy95 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param185 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_signed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param35 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy96 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param186 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param30 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param31 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib3 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param32 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param33 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param34 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_outputs_as_internal", get_test_model_n_5_quant8_signed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6 = TestModelManager::get().add("while_fib_dynamic_n_6", get_test_model_n_6()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_all_tensors_as_inputs", get_test_model_n_6_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // fib_init4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy100 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param190 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy101 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param191 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_all_outputs_as_internal", get_test_model_n_6_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_relaxed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_relaxed = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed", get_test_model_n_6_relaxed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_relaxed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_tensors_as_inputs", get_test_model_n_6_relaxed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // fib_init4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy105 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param195 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_relaxed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy106 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param196 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_outputs_as_internal", get_test_model_n_6_relaxed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_float16() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_float16 = TestModelManager::get().add("while_fib_dynamic_n_6_float16", get_test_model_n_6_float16()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_float16_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_tensors_as_inputs", get_test_model_n_6_float16_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // fib_init4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy110 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param200 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_float16_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy111 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param201 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_outputs_as_internal", get_test_model_n_6_float16_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8", get_test_model_n_6_quant8()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_tensors_as_inputs", get_test_model_n_6_quant8_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // fib_init4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy115 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param205 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy116 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param206 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_outputs_as_internal", get_test_model_n_6_quant8_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_signed() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed", get_test_model_n_6_quant8_signed()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_signed_all_tensors_as_inputs() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_tensors_as_inputs", get_test_model_n_6_quant8_signed_all_tensors_as_inputs()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // fib_init4_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy120 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param210 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_signed_all_outputs_as_internal() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param44 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy121 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param211 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param36 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param37 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param38 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param39 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param40 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib4 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param41 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param42 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param43 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_outputs_as_internal", get_test_model_n_6_quant8_signed_all_outputs_as_internal()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_2", get_test_model_n_2_unused_output_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init5_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy125 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param215 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy126 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param216 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out10_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_outputs_as_internal_2", get_test_model_n_2_unused_output_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_relaxed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_2", get_test_model_n_2_unused_output_relaxed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init5_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy130 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param220 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_relaxed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy131 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param221 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out10_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_outputs_as_internal_2", get_test_model_n_2_unused_output_relaxed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_float16_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_2", get_test_model_n_2_unused_output_float16_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init5_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy135 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param225 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_float16_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy136 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param226 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out10_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_outputs_as_internal_2", get_test_model_n_2_unused_output_float16_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_2", get_test_model_n_2_unused_output_quant8_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init5_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy140 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param230 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy141 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param231 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out10_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_outputs_as_internal_2", get_test_model_n_2_unused_output_quant8_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_signed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_2", get_test_model_n_2_unused_output_quant8_signed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init5_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy145 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param235 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param53 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy146 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param236 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out10_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param45 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param46 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param47 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param48 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param49 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib5 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param50 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param51 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param52 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_outputs_as_internal_2", get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_2", get_test_model_n_3_unused_output_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy150 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param240 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy151 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param241 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out12_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_outputs_as_internal_2", get_test_model_n_3_unused_output_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_relaxed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_2", get_test_model_n_3_unused_output_relaxed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy155 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param245 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_relaxed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy156 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param246 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out12_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_outputs_as_internal_2", get_test_model_n_3_unused_output_relaxed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_float16_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_2", get_test_model_n_3_unused_output_float16_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy160 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param250 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_float16_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy161 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param251 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out12_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_outputs_as_internal_2", get_test_model_n_3_unused_output_float16_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_2", get_test_model_n_3_unused_output_quant8_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy165 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param255 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy166 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param256 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out12_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_outputs_as_internal_2", get_test_model_n_3_unused_output_quant8_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_signed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_2", get_test_model_n_3_unused_output_quant8_signed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init6_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy170 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param260 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param62 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({3}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out11 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy171 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param261 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out12_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2}), - .dimensions = {1, 3}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n20 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out10 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param54 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param55 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param56 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param57 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param58 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib6 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param59 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param60 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param61 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_outputs_as_internal_2", get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_2", get_test_model_n_4_unused_output_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init7_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy175 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param265 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy176 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param266 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out14_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_outputs_as_internal_2", get_test_model_n_4_unused_output_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_relaxed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_2", get_test_model_n_4_unused_output_relaxed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init7_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy180 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param270 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_relaxed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy181 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param271 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out14_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_outputs_as_internal_2", get_test_model_n_4_unused_output_relaxed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_float16_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_2", get_test_model_n_4_unused_output_float16_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init7_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy185 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param275 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_float16_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy186 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param276 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out14_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_outputs_as_internal_2", get_test_model_n_4_unused_output_float16_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_2", get_test_model_n_4_unused_output_quant8_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init7_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy190 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param280 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy191 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param281 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out14_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_outputs_as_internal_2", get_test_model_n_4_unused_output_quant8_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_signed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_2", get_test_model_n_4_unused_output_quant8_signed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 7}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_init7_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy195 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param285 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {7, 8, 9}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param71 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n21 - .channelQuant = {}, - .data = TestBuffer::createFromVector({4}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out13 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // dummy196 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param286 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out14_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3}), - .dimensions = {1, 4}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5, 6}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 7, 8}, - .outputs = {9}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {9} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n22 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n23 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out12 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param63 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param64 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param65 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param66 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param67 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib7 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param68 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param69 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param70 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_outputs_as_internal_2", get_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_2 = TestModelManager::get().add("while_fib_dynamic_n_5_2", get_test_model_n_5_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_all_tensors_as_inputs_2", get_test_model_n_5_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // fib_init8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy200 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param290 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy201 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param291 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out16_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_all_outputs_as_internal_2", get_test_model_n_5_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_relaxed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_2", get_test_model_n_5_relaxed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_tensors_as_inputs_2", get_test_model_n_5_relaxed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // fib_init8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy205 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param295 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_relaxed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy206 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param296 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out16_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_outputs_as_internal_2", get_test_model_n_5_relaxed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_float16_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_5_float16_2", get_test_model_n_5_float16_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_tensors_as_inputs_2", get_test_model_n_5_float16_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // fib_init8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy210 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param300 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_float16_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy211 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param301 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out16_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_outputs_as_internal_2", get_test_model_n_5_float16_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_2", get_test_model_n_5_quant8_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_tensors_as_inputs_2", get_test_model_n_5_quant8_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // fib_init8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy215 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param305 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy216 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param306 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out16_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_outputs_as_internal_2", get_test_model_n_5_quant8_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_signed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_2", get_test_model_n_5_quant8_signed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_5_quant8_signed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // fib_init8_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy220 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param310 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_5_quant8_signed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param80 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n24 - .channelQuant = {}, - .data = TestBuffer::createFromVector({5}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy221 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param311 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out16_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), - .dimensions = {1, 5}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i16 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n25 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n26 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out17 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out14 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param72 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param73 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param74 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param75 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param76 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib8 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param77 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param78 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param79 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_5_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_outputs_as_internal_2", get_test_model_n_5_quant8_signed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_2 = TestModelManager::get().add("while_fib_dynamic_n_6_2", get_test_model_n_6_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_all_tensors_as_inputs_2", get_test_model_n_6_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // fib_init9_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy225 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param315 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy226 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param316 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out18_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_all_outputs_as_internal_2", get_test_model_n_6_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_relaxed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_2", get_test_model_n_6_relaxed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_relaxed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_tensors_as_inputs_2", get_test_model_n_6_relaxed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // fib_init9_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy230 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param320 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_relaxed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = true, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // dummy231 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param321 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out18_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::UNKNOWN, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT32, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_outputs_as_internal_2", get_test_model_n_6_relaxed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_float16_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_6_float16_2", get_test_model_n_6_float16_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_float16_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_tensors_as_inputs_2", get_test_model_n_6_float16_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // fib_init9_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy235 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param325 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_float16_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // dummy236 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param326 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out18_new - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({0.0f}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector<_Float16>({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_FLOAT16, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_outputs_as_internal_2", get_test_model_n_6_float16_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_2", get_test_model_n_6_quant8_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_tensors_as_inputs_2", get_test_model_n_6_quant8_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // fib_init9_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy240 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param330 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // dummy241 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param331 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out18_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_outputs_as_internal_2", get_test_model_n_6_quant8_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_signed_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_2", get_test_model_n_6_quant8_signed_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_signed_all_tensors_as_inputs_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {2, 4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_6_quant8_signed_all_tensors_as_inputs_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4, 6}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // fib_init9_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy245 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param335 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {6, 7, 8}, - .outputs = {2}, - .type = TestOperationType::ADD - }, { - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }}, - .outputIndexes = {5} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - -namespace generated_tests::while_fib_dynamic { - -const TestModel& get_test_model_n_6_quant8_signed_all_outputs_as_internal_2() { - static TestModel model = { - .expectFailure = false, - .expectedMultinomialDistributionTolerance = 0, - .isRelaxed = false, - .main = { - .inputIndexes = {4}, - .operands = {{ // cond9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // body9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::SUBGRAPH, - .zeroPoint = 0 - }, { // fib_init9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param89 - .channelQuant = {}, - .data = TestBuffer::createFromVector({2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n27 - .channelQuant = {}, - .data = TestBuffer::createFromVector({6}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // dummy246 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param336 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // fib_out18_new - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), - .dimensions = {1, 6}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {0, 1, 2, 3, 4}, - .outputs = {5}, - .type = TestOperationType::WHILE - }, { - .inputs = {5, 6, 7}, - .outputs = {8}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {8} - }, - .minSupportedVersion = TestHalVersion::V1_3, - .referenced = {{ // cond - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i18 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n28 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // out9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_BOOL8, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 2}, - .outputs = {3}, - .type = TestOperationType::LESS - }}, - .outputIndexes = {3} - }, { // body - .inputIndexes = {0, 1, 2}, - .operands = {{ // fib19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 2, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // n29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // fib_out19 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // i_out15 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, - .numberOfConsumers = 0, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param81 - .channelQuant = {}, - .data = TestBuffer::createFromVector({-2}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param82 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // i_minus_29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param83 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0, 1}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param84 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // slice_start9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // slice_size9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 2}), - .dimensions = {2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // last29 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // matrix9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1, 1}), - .dimensions = {1, 2}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // zero_bias9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param85 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // new_fib9 - .channelQuant = {}, - .data = TestBuffer::createFromVector({}), - .dimensions = {1, 1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, - .numberOfConsumers = 1, - .scale = 1.0f, - .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, - .zeroPoint = 0 - }, { // param86 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }, { // param87 - .channelQuant = {}, - .data = TestBuffer::createFromVector({1}), - .dimensions = {1}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::TENSOR_INT32, - .zeroPoint = 0 - }, { // param88 - .channelQuant = {}, - .data = TestBuffer::createFromVector({0}), - .dimensions = {}, - .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, - .numberOfConsumers = 1, - .scale = 0.0f, - .type = TestOperandType::INT32, - .zeroPoint = 0 - }}, - .operations = {{ - .inputs = {1, 5, 6}, - .outputs = {7}, - .type = TestOperationType::ADD - }, { - .inputs = {7, 8, 9}, - .outputs = {10}, - .type = TestOperationType::MUL - }, { - .inputs = {0, 10, 11}, - .outputs = {12}, - .type = TestOperationType::SLICE - }, { - .inputs = {12, 13, 14, 15}, - .outputs = {16}, - .type = TestOperationType::FULLY_CONNECTED - }, { - .inputs = {0, 16, 17}, - .outputs = {3}, - .type = TestOperationType::CONCATENATION - }, { - .inputs = {1, 18, 19}, - .outputs = {4}, - .type = TestOperationType::ADD - }}, - .outputIndexes = {3, 4} - }} - }; - return model; -} - -const auto dummy_test_model_n_6_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_outputs_as_internal_2", get_test_model_n_6_quant8_signed_all_outputs_as_internal_2()); - -} // namespace generated_tests::while_fib_dynamic - diff --git a/nn/runtime/test/generated/spec_V1_3_cts_only/if_simple_dynamic.example.cpp b/nn/runtime/test/generated/spec_V1_3_cts_only/if_simple_dynamic.example.cpp new file mode 100644 index 000000000..0bd7c44fa --- /dev/null +++ b/nn/runtime/test/generated/spec_V1_3_cts_only/if_simple_dynamic.example.cpp @@ -0,0 +1,6286 @@ +// Generated from if_simple_dynamic.mod.py +// DO NOT EDIT +// clang-format off +#include "TestHarness.h" +using namespace test_helper; + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true = TestModelManager::get().add("if_simple_dynamic_true", get_test_model_true()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // y_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_all_inputs_as_internal", get_test_model_true_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_all_outputs_as_internal", get_test_model_true_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_relaxed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_relaxed = TestModelManager::get().add("if_simple_dynamic_true_relaxed", get_test_model_true_relaxed()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_relaxed_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // y_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_relaxed_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_relaxed_all_inputs_as_internal", get_test_model_true_relaxed_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_relaxed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_relaxed_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_relaxed_all_outputs_as_internal", get_test_model_true_relaxed_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_float16() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_float16 = TestModelManager::get().add("if_simple_dynamic_true_float16", get_test_model_true_float16()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_float16_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // y_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_float16_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_float16_all_inputs_as_internal", get_test_model_true_float16_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_float16_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_float16_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_float16_all_outputs_as_internal", get_test_model_true_float16_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_int32() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({10}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_int32 = TestModelManager::get().add("if_simple_dynamic_true_int32", get_test_model_true_int32()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_quant8() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_quant8 = TestModelManager::get().add("if_simple_dynamic_true_quant8", get_test_model_true_quant8()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_quant8_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // y_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // dummy15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({100}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_quant8_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_quant8_all_inputs_as_internal", get_test_model_true_quant8_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_quant8_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // dummy16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({100}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_quant8_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_quant8_all_outputs_as_internal", get_test_model_true_quant8_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_quant8_signed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_quant8_signed = TestModelManager::get().add("if_simple_dynamic_true_quant8_signed", get_test_model_true_quant8_signed()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_quant8_signed_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // y_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // dummy20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({100}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_quant8_signed_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_quant8_signed_all_inputs_as_internal", get_test_model_true_quant8_signed_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_true_quant8_signed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x + .channelQuant = {}, + .data = TestBuffer::createFromVector({true}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // z + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // dummy21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({100}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_true_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_true_quant8_signed_all_outputs_as_internal", get_test_model_true_quant8_signed_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false = TestModelManager::get().add("if_simple_dynamic_false", get_test_model_false()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // y3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_all_inputs_as_internal", get_test_model_false_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_all_outputs_as_internal", get_test_model_false_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_relaxed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_relaxed = TestModelManager::get().add("if_simple_dynamic_false_relaxed", get_test_model_false_relaxed()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_relaxed_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // y3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_relaxed_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_relaxed_all_inputs_as_internal", get_test_model_false_relaxed_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_relaxed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_relaxed_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_relaxed_all_outputs_as_internal", get_test_model_false_relaxed_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_float16() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_float16 = TestModelManager::get().add("if_simple_dynamic_false_float16", get_test_model_false_float16()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_float16_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // y3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_float16_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_float16_all_inputs_as_internal", get_test_model_false_float16_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_float16_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy36 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({-9.0f, -8.0f, -7.0f, -6.0f, -5.0f, -4.0f, -3.0f, -2.0f, -1.0f, 0.0f, 1.0f, 2.0f}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({10.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_float16_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_float16_all_outputs_as_internal", get_test_model_false_float16_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_int32() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({10}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_int32 = TestModelManager::get().add("if_simple_dynamic_false_int32", get_test_model_false_int32()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_quant8() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_quant8 = TestModelManager::get().add("if_simple_dynamic_false_quant8", get_test_model_false_quant8()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_quant8_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // y3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // dummy40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({100}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_quant8_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_quant8_all_inputs_as_internal", get_test_model_false_quant8_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_quant8_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // dummy41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({100}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_quant8_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_quant8_all_outputs_as_internal", get_test_model_false_quant8_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_quant8_signed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_quant8_signed = TestModelManager::get().add("if_simple_dynamic_false_quant8_signed", get_test_model_false_quant8_signed()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_quant8_signed_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 5}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // y3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // dummy45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({100}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {5, 6, 7}, + .outputs = {3}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }}, + .outputIndexes = {4} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_quant8_signed_all_inputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_quant8_signed_all_inputs_as_internal", get_test_model_false_quant8_signed_all_inputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + +namespace generated_tests::if_simple_dynamic { + +const TestModel& get_test_model_false_quant8_signed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {0, 3}, + .operands = {{ // x1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({false}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // y3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // z3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // dummy46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({100}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102}), + .dimensions = {3, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3}, + .outputs = {4}, + .type = TestOperationType::IF + }, { + .inputs = {4, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {7} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // param + .inputIndexes = {0}, + .operands = {{ // y4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3} + }, { // param + .inputIndexes = {0}, + .operands = {{ // y5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({110}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // z5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 100 + }}, + .operations = {{ + .inputs = {0, 1, 2}, + .outputs = {3}, + .type = TestOperationType::SUB + }}, + .outputIndexes = {3} + }} + }; + return model; +} + +const auto dummy_test_model_false_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("if_simple_dynamic_false_quant8_signed_all_outputs_as_internal", get_test_model_false_quant8_signed_all_outputs_as_internal()); + +} // namespace generated_tests::if_simple_dynamic + diff --git a/nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_dynamic.example.cpp b/nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_dynamic.example.cpp new file mode 100644 index 000000000..77cafd384 --- /dev/null +++ b/nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_dynamic.example.cpp @@ -0,0 +1,77606 @@ +// Generated from while_fib_dynamic.mod.py +// DO NOT EDIT +// clang-format off +#include "TestHarness.h" +using namespace test_helper; + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output", get_test_model_n_2_unused_output()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_tensors_as_inputs", get_test_model_n_2_unused_output_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param90 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param91 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_outputs_as_internal", get_test_model_n_2_unused_output_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_relaxed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_relaxed = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed", get_test_model_n_2_unused_output_relaxed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_tensors_as_inputs", get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param95 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_relaxed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param96 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_outputs_as_internal", get_test_model_n_2_unused_output_relaxed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_float16() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_float16 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16", get_test_model_n_2_unused_output_float16()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_tensors_as_inputs", get_test_model_n_2_unused_output_float16_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param100 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_float16_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param101 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_outputs_as_internal", get_test_model_n_2_unused_output_float16_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8", get_test_model_n_2_unused_output_quant8()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_tensors_as_inputs", get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param105 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param106 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_outputs_as_internal", get_test_model_n_2_unused_output_quant8_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_signed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed", get_test_model_n_2_unused_output_quant8_signed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_tensors_as_inputs", get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param110 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param111 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_outputs_as_internal", get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output", get_test_model_n_3_unused_output()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_tensors_as_inputs", get_test_model_n_3_unused_output_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init1_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param115 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param116 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_outputs_as_internal", get_test_model_n_3_unused_output_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_relaxed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_relaxed = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed", get_test_model_n_3_unused_output_relaxed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_tensors_as_inputs", get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init1_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param120 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_relaxed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param121 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_outputs_as_internal", get_test_model_n_3_unused_output_relaxed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_float16() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_float16 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16", get_test_model_n_3_unused_output_float16()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_tensors_as_inputs", get_test_model_n_3_unused_output_float16_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init1_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param125 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_float16_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy36 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param126 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_outputs_as_internal", get_test_model_n_3_unused_output_float16_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8", get_test_model_n_3_unused_output_quant8()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_tensors_as_inputs", get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init1_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param130 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param131 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_outputs_as_internal", get_test_model_n_3_unused_output_quant8_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_signed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed", get_test_model_n_3_unused_output_quant8_signed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_tensors_as_inputs", get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init1_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param135 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param136 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib1 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_outputs_as_internal", get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output", get_test_model_n_4_unused_output()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_tensors_as_inputs", get_test_model_n_4_unused_output_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param140 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param141 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_outputs_as_internal", get_test_model_n_4_unused_output_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_relaxed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_relaxed = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed", get_test_model_n_4_unused_output_relaxed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_tensors_as_inputs", get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param145 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_relaxed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param146 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_outputs_as_internal", get_test_model_n_4_unused_output_relaxed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_float16() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_float16 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16", get_test_model_n_4_unused_output_float16()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_float16_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_tensors_as_inputs", get_test_model_n_4_unused_output_float16_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy60 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param150 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_float16_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy61 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param151 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_outputs_as_internal", get_test_model_n_4_unused_output_float16_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8", get_test_model_n_4_unused_output_quant8()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_tensors_as_inputs", get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param155 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param156 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_outputs_as_internal", get_test_model_n_4_unused_output_quant8_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_signed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed", get_test_model_n_4_unused_output_quant8_signed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_tensors_as_inputs", get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init2_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param160 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param161 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib2 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_outputs_as_internal", get_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5 = TestModelManager::get().add("while_fib_dynamic_n_5", get_test_model_n_5()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_all_tensors_as_inputs", get_test_model_n_5_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param165 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param166 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_all_outputs_as_internal", get_test_model_n_5_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_relaxed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_relaxed = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed", get_test_model_n_5_relaxed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_tensors_as_inputs", get_test_model_n_5_relaxed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param170 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_relaxed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param171 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_outputs_as_internal", get_test_model_n_5_relaxed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_float16() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_float16 = TestModelManager::get().add("while_fib_dynamic_n_5_float16", get_test_model_n_5_float16()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_tensors_as_inputs", get_test_model_n_5_float16_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy85 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param175 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_float16_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy86 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param176 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_outputs_as_internal", get_test_model_n_5_float16_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8", get_test_model_n_5_quant8()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_tensors_as_inputs", get_test_model_n_5_quant8_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // fib_init3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy90 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param180 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy91 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param181 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_outputs_as_internal", get_test_model_n_5_quant8_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_signed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed", get_test_model_n_5_quant8_signed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_tensors_as_inputs", get_test_model_n_5_quant8_signed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // fib_init3_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy95 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param185 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_signed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy96 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param186 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib3 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_outputs_as_internal", get_test_model_n_5_quant8_signed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6 = TestModelManager::get().add("while_fib_dynamic_n_6", get_test_model_n_6()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_all_tensors_as_inputs", get_test_model_n_6_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy100 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param190 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy101 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param191 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_all_outputs_as_internal", get_test_model_n_6_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_relaxed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_relaxed = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed", get_test_model_n_6_relaxed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_relaxed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_relaxed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_tensors_as_inputs", get_test_model_n_6_relaxed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy105 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param195 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_relaxed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy106 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param196 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_relaxed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_outputs_as_internal", get_test_model_n_6_relaxed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_float16() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_float16 = TestModelManager::get().add("while_fib_dynamic_n_6_float16", get_test_model_n_6_float16()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_float16_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_float16_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_tensors_as_inputs", get_test_model_n_6_float16_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy110 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param200 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_float16_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy111 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param201 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_float16_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_outputs_as_internal", get_test_model_n_6_float16_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8", get_test_model_n_6_quant8()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_tensors_as_inputs", get_test_model_n_6_quant8_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // fib_init4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy115 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param205 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy116 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param206 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_outputs_as_internal", get_test_model_n_6_quant8_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_signed() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_signed = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed", get_test_model_n_6_quant8_signed()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_signed_all_tensors_as_inputs() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_tensors_as_inputs", get_test_model_n_6_quant8_signed_all_tensors_as_inputs()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // fib_init4_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy120 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param210 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_signed_all_outputs_as_internal() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param44 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy121 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param211 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param36 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param37 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param40 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib4 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param41 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param42 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param43 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_signed_all_outputs_as_internal = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_outputs_as_internal", get_test_model_n_6_quant8_signed_all_outputs_as_internal()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_2", get_test_model_n_2_unused_output_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init5_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy125 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param215 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy126 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param216 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_all_outputs_as_internal_2", get_test_model_n_2_unused_output_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_2", get_test_model_n_2_unused_output_relaxed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init5_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy130 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param220 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy131 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param221 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_relaxed_all_outputs_as_internal_2", get_test_model_n_2_unused_output_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_2", get_test_model_n_2_unused_output_float16_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init5_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy135 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param225 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy136 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param226 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_float16_all_outputs_as_internal_2", get_test_model_n_2_unused_output_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_2", get_test_model_n_2_unused_output_quant8_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init5_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy140 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param230 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy141 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param231 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_all_outputs_as_internal_2", get_test_model_n_2_unused_output_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_2", get_test_model_n_2_unused_output_quant8_signed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init5_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy145 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param235 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param53 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy146 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param236 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param45 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param46 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param47 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param48 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param49 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib5 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param50 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param51 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param52 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_2_unused_output_quant8_signed_all_outputs_as_internal_2", get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_2", get_test_model_n_3_unused_output_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy150 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param240 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy151 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param241 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_all_outputs_as_internal_2", get_test_model_n_3_unused_output_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_2", get_test_model_n_3_unused_output_relaxed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy155 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param245 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy156 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param246 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_relaxed_all_outputs_as_internal_2", get_test_model_n_3_unused_output_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_2", get_test_model_n_3_unused_output_float16_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy160 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param250 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy161 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param251 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_float16_all_outputs_as_internal_2", get_test_model_n_3_unused_output_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_2", get_test_model_n_3_unused_output_quant8_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy165 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param255 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy166 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param256 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_all_outputs_as_internal_2", get_test_model_n_3_unused_output_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_2", get_test_model_n_3_unused_output_quant8_signed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy170 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param260 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({3}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy171 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param261 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2}), + .dimensions = {1, 3}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n20 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param54 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param55 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param56 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param57 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param58 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib6 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param59 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_3_unused_output_quant8_signed_all_outputs_as_internal_2", get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_2", get_test_model_n_4_unused_output_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init7_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy175 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param265 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy176 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param266 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_all_outputs_as_internal_2", get_test_model_n_4_unused_output_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_2", get_test_model_n_4_unused_output_relaxed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init7_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy180 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param270 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy181 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param271 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_relaxed_all_outputs_as_internal_2", get_test_model_n_4_unused_output_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_2", get_test_model_n_4_unused_output_float16_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init7_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy185 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param275 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy186 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param276 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_float16_all_outputs_as_internal_2", get_test_model_n_4_unused_output_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_2", get_test_model_n_4_unused_output_quant8_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init7_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy190 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param280 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy191 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param281 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_all_outputs_as_internal_2", get_test_model_n_4_unused_output_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_2", get_test_model_n_4_unused_output_quant8_signed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_init7_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy195 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param285 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_4_unused_output_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .channelQuant = {}, + .data = TestBuffer::createFromVector({4}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // dummy196 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param286 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3}), + .dimensions = {1, 4}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5, 6}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n22 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n23 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib7 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_4_unused_output_quant8_signed_all_outputs_as_internal_2", get_test_model_n_4_unused_output_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_2 = TestModelManager::get().add("while_fib_dynamic_n_5_2", get_test_model_n_5_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_all_tensors_as_inputs_2", get_test_model_n_5_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy200 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param290 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy201 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param291 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_all_outputs_as_internal_2", get_test_model_n_5_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_2", get_test_model_n_5_relaxed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_tensors_as_inputs_2", get_test_model_n_5_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy205 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param295 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy206 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param296 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_relaxed_all_outputs_as_internal_2", get_test_model_n_5_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_5_float16_2", get_test_model_n_5_float16_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_tensors_as_inputs_2", get_test_model_n_5_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy210 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param300 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy211 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param301 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_float16_all_outputs_as_internal_2", get_test_model_n_5_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_2", get_test_model_n_5_quant8_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_tensors_as_inputs_2", get_test_model_n_5_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // fib_init8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy215 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param305 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy216 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param306 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_all_outputs_as_internal_2", get_test_model_n_5_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_2", get_test_model_n_5_quant8_signed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_5_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // fib_init8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy220 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param310 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_5_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .channelQuant = {}, + .data = TestBuffer::createFromVector({5}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy221 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param311 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5}), + .dimensions = {1, 5}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i16 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n25 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n26 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib8 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_5_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_5_quant8_signed_all_outputs_as_internal_2", get_test_model_n_5_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_2 = TestModelManager::get().add("while_fib_dynamic_n_6_2", get_test_model_n_6_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_all_tensors_as_inputs_2", get_test_model_n_6_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init9_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy225 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param315 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy226 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param316 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_all_outputs_as_internal_2", get_test_model_n_6_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_relaxed_2 = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_2", get_test_model_n_6_relaxed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_tensors_as_inputs_2", get_test_model_n_6_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init9_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy230 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param320 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy231 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param321 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_relaxed_all_outputs_as_internal_2", get_test_model_n_6_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_float16_2 = TestModelManager::get().add("while_fib_dynamic_n_6_float16_2", get_test_model_n_6_float16_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_tensors_as_inputs_2", get_test_model_n_6_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init9_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy235 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param325 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy236 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param326 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f, 2.0f, 3.0f, 5.0f, 8.0f}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_float16_all_outputs_as_internal_2", get_test_model_n_6_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_2", get_test_model_n_6_quant8_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_tensors_as_inputs_2", get_test_model_n_6_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // fib_init9_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy240 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param330 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy241 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param331 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_all_outputs_as_internal_2", get_test_model_n_6_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_signed_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_2", get_test_model_n_6_quant8_signed_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_tensors_as_inputs_2", get_test_model_n_6_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // fib_init9_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy245 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param335 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_n_6_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + +namespace generated_tests::while_fib_dynamic { + +const TestModel& get_test_model_n_6_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector({2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .channelQuant = {}, + .data = TestBuffer::createFromVector({6}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy246 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param336 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1, 2, 3, 5, 8}), + .dimensions = {1, 6}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i18 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n28 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_BOOL8, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 2}, + .outputs = {3}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {3} + }, { // body + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector({-2}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // i_minus_29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0, 1}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // slice_start9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // slice_size9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 2}), + .dimensions = {2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // last29 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // new_fib9 + .channelQuant = {}, + .data = TestBuffer::createFromVector({}), + .dimensions = {1, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {7}, + .type = TestOperationType::ADD + }, { + .inputs = {7, 8, 9}, + .outputs = {10}, + .type = TestOperationType::MUL + }, { + .inputs = {0, 10, 11}, + .outputs = {12}, + .type = TestOperationType::SLICE + }, { + .inputs = {12, 13, 14, 15}, + .outputs = {16}, + .type = TestOperationType::FULLY_CONNECTED + }, { + .inputs = {0, 16, 17}, + .outputs = {3}, + .type = TestOperationType::CONCATENATION + }, { + .inputs = {1, 18, 19}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_n_6_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_dynamic_n_6_quant8_signed_all_outputs_as_internal_2", get_test_model_n_6_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib_dynamic + diff --git a/nn/runtime/test/specs/V1_3/if_simple_dynamic.mod.py b/nn/runtime/test/specs/V1_3/if_simple_dynamic.mod.py deleted file mode 100644 index 9ef405d18..000000000 --- a/nn/runtime/test/specs/V1_3/if_simple_dynamic.mod.py +++ /dev/null @@ -1,48 +0,0 @@ -# -# Copyright (C) 2020 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# Model: z = if (x) then (y + 10) else (y - 10) - -input_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] -output_add = [y + 10 for y in input_data] -output_sub = [y - 10 for y in input_data] - -ValueType = ["TENSOR_FLOAT32", []] # Unknown rank. -ValueTypeKnownShape = ["TENSOR_FLOAT32", [3, 4]] -BoolType = ["TENSOR_BOOL8", [1]] - -def MakeBranchModel(operation_name): - y = Input("y", ValueType) - z = Output("z", ValueType) - return Model().Operation(operation_name, y, [10.0], 0).To(z) - -def Test(x_data, y_data, z_data, name): - x = Input("x", BoolType) - y = Input("y", ValueTypeKnownShape) - z = Output("z", ValueTypeKnownShape) - then_model = MakeBranchModel("ADD") - else_model = MakeBranchModel("SUB") - model = Model().Operation("IF", x, then_model, else_model, y).To(z) - - quant8 = DataTypeConverter("quant8", scale=1.0, zeroPoint=100) - quant8_signed = DataTypeConverter("quant8_signed", scale=1.0, zeroPoint=100) - - example = Example({x: [x_data], y: y_data, z: z_data}, name=name) - example.AddVariations("relaxed", "float16", "int32", quant8, quant8_signed) - example.AddVariations(AllOutputsAsInternalCoverter()) - -Test(x_data=True, y_data=input_data, z_data=output_add, name="true") -Test(x_data=False, y_data=input_data, z_data=output_sub, name="false") diff --git a/nn/runtime/test/specs/V1_3/while_fib_dynamic.mod.py b/nn/runtime/test/specs/V1_3/while_fib_dynamic.mod.py deleted file mode 100644 index c69d732c0..000000000 --- a/nn/runtime/test/specs/V1_3/while_fib_dynamic.mod.py +++ /dev/null @@ -1,134 +0,0 @@ -# -# Copyright (C) 2020 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# Model: given n >= 2, produces [fib(1), ..., fib(n)]. -# -# i = 2 -# fib = [1, 1] # shape=[1, i + 1] -# while i < n: -# last2 = fib[0:1, (i - 2):i] # shape=[1, 2] -# new_fib = matmul(last2, [1; 1]) # shape=[1, 1] -# fib = append(fib, new_fib) # shape=[1, i + 2] -# i = i + 1 - -FibType = ["TENSOR_FLOAT32", []] # Unknown rank. -CounterType = ["TENSOR_INT32", [1]] -BoolType = ["TENSOR_BOOL8", [1]] - -Quant8Params = ["TENSOR_QUANT8_ASYMM", 1.0, 0] -Quant8SignedParams = ["TENSOR_QUANT8_ASYMM_SIGNED", 1.0, 0] - -def MakeConditionModel(): - fib = Input("fib", FibType) - i = Input("i", CounterType) - n = Input("n", CounterType) - out = Output("out", BoolType) - model = Model() - model.IdentifyInputs(fib, i, n) - model.IdentifyOutputs(out) - model.Operation("LESS", i, n).To(out) - - quant8 = DataTypeConverter().Identify({ - fib: Quant8Params, - }) - quant8_signed = DataTypeConverter().Identify({ - fib: Quant8SignedParams, - }) - - return SubgraphReference("cond", model), quant8, quant8_signed - -def MakeBodyModel(): - fib = Input("fib", FibType) - i = Input("i", CounterType) - n = Input("n", CounterType) - fib_out = Output("fib_out", FibType) - i_out = Output("i_out", CounterType) - matrix = Parameter("matrix", ["TENSOR_FLOAT32", [1, 2]], [1, 1]) - zero_bias = Parameter("zero_bias", ["TENSOR_FLOAT32", [1]], [0]) - i_minus_2 = Internal("i_minus_2", ["TENSOR_INT32", [1]]) - slice_start = Internal("slice_start", ["TENSOR_INT32", [2]]) - slice_size = Parameter("slice_size", ["TENSOR_INT32", [2]], [1, 2]) - last2 = Internal("last2", ["TENSOR_FLOAT32", [1, 2]]) - new_fib = Internal("new_fib", ["TENSOR_FLOAT32", [1, 1]]) - model = Model() - model.IdentifyInputs(fib, i, n) - model.IdentifyOutputs(fib_out, i_out) - model.Operation("ADD", i, [-2], 0).To(i_minus_2) - model.Operation("MUL", i_minus_2, [0, 1], 0).To(slice_start) - model.Operation("SLICE", fib, slice_start, slice_size).To(last2) - model.Operation("FULLY_CONNECTED", last2, matrix, zero_bias, 0).To(new_fib) - model.Operation("CONCATENATION", fib, new_fib, 1).To(fib_out) - model.Operation("ADD", i, [1], 0).To(i_out) - - quant8 = DataTypeConverter().Identify({ - fib_out: Quant8Params, - fib: Quant8Params, - last2: Quant8Params, - matrix: Quant8Params, - new_fib: Quant8Params, - zero_bias: ["TENSOR_INT32", 1.0, 0], - }) - quant8_signed = DataTypeConverter().Identify({ - fib_out: Quant8SignedParams, - fib: Quant8SignedParams, - last2: Quant8SignedParams, - matrix: Quant8SignedParams, - new_fib: Quant8SignedParams, - zero_bias: ["TENSOR_INT32", 1.0, 0], - }) - - return SubgraphReference("body", model), quant8, quant8_signed - -def Test(n_data, fib_data, add_unused_output=False): - n = Input("n", CounterType) - fib_out = Output("fib_out", ["TENSOR_FLOAT32", [1, len(fib_data)]]) # Known dimensions. - cond, cond_quant8, cond_quant8_signed = MakeConditionModel() - body, body_quant8, body_quant8_signed = MakeBodyModel() - fib_init = Parameter("fib_init", ["TENSOR_FLOAT32", [1, 2]], [1, 1]) - i_init = [2] - outputs = [fib_out] - if add_unused_output: - i_out = Internal("i_out", CounterType) # Unused. - outputs.append(i_out) - model = Model().Operation("WHILE", cond, body, fib_init, i_init, n).To(outputs) - - quant8 = DataTypeConverter().Identify({ - fib_init: Quant8Params, - fib_out: Quant8Params, - cond: cond_quant8, - body: body_quant8, - }) - quant8_signed = DataTypeConverter().Identify({ - fib_init: Quant8SignedParams, - fib_out: Quant8SignedParams, - cond: cond_quant8_signed, - body: body_quant8_signed, - }) - - name = "n_{}".format(n_data) - if add_unused_output: - name += "_unused_output" - example = Example({n: [n_data], fib_out: fib_data}, name=name) - example.AddVariations("relaxed", "float16", quant8, quant8_signed) - example.AddVariations(AllOutputsAsInternalCoverter()) - -for use_shm_for_weights in [False, True]: - Configuration.use_shm_for_weights = use_shm_for_weights - Test(n_data=2, fib_data=[1, 1], add_unused_output=True) - Test(n_data=3, fib_data=[1, 1, 2], add_unused_output=True) - Test(n_data=4, fib_data=[1, 1, 2, 3], add_unused_output=True) - Test(n_data=5, fib_data=[1, 1, 2, 3, 5]) - Test(n_data=6, fib_data=[1, 1, 2, 3, 5, 8]) diff --git a/nn/runtime/test/specs/V1_3_cts_only/if_simple_dynamic.mod.py b/nn/runtime/test/specs/V1_3_cts_only/if_simple_dynamic.mod.py new file mode 100644 index 000000000..9ef405d18 --- /dev/null +++ b/nn/runtime/test/specs/V1_3_cts_only/if_simple_dynamic.mod.py @@ -0,0 +1,48 @@ +# +# Copyright (C) 2020 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Model: z = if (x) then (y + 10) else (y - 10) + +input_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] +output_add = [y + 10 for y in input_data] +output_sub = [y - 10 for y in input_data] + +ValueType = ["TENSOR_FLOAT32", []] # Unknown rank. +ValueTypeKnownShape = ["TENSOR_FLOAT32", [3, 4]] +BoolType = ["TENSOR_BOOL8", [1]] + +def MakeBranchModel(operation_name): + y = Input("y", ValueType) + z = Output("z", ValueType) + return Model().Operation(operation_name, y, [10.0], 0).To(z) + +def Test(x_data, y_data, z_data, name): + x = Input("x", BoolType) + y = Input("y", ValueTypeKnownShape) + z = Output("z", ValueTypeKnownShape) + then_model = MakeBranchModel("ADD") + else_model = MakeBranchModel("SUB") + model = Model().Operation("IF", x, then_model, else_model, y).To(z) + + quant8 = DataTypeConverter("quant8", scale=1.0, zeroPoint=100) + quant8_signed = DataTypeConverter("quant8_signed", scale=1.0, zeroPoint=100) + + example = Example({x: [x_data], y: y_data, z: z_data}, name=name) + example.AddVariations("relaxed", "float16", "int32", quant8, quant8_signed) + example.AddVariations(AllOutputsAsInternalCoverter()) + +Test(x_data=True, y_data=input_data, z_data=output_add, name="true") +Test(x_data=False, y_data=input_data, z_data=output_sub, name="false") diff --git a/nn/runtime/test/specs/V1_3_cts_only/while_fib_dynamic.mod.py b/nn/runtime/test/specs/V1_3_cts_only/while_fib_dynamic.mod.py new file mode 100644 index 000000000..c69d732c0 --- /dev/null +++ b/nn/runtime/test/specs/V1_3_cts_only/while_fib_dynamic.mod.py @@ -0,0 +1,134 @@ +# +# Copyright (C) 2020 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Model: given n >= 2, produces [fib(1), ..., fib(n)]. +# +# i = 2 +# fib = [1, 1] # shape=[1, i + 1] +# while i < n: +# last2 = fib[0:1, (i - 2):i] # shape=[1, 2] +# new_fib = matmul(last2, [1; 1]) # shape=[1, 1] +# fib = append(fib, new_fib) # shape=[1, i + 2] +# i = i + 1 + +FibType = ["TENSOR_FLOAT32", []] # Unknown rank. +CounterType = ["TENSOR_INT32", [1]] +BoolType = ["TENSOR_BOOL8", [1]] + +Quant8Params = ["TENSOR_QUANT8_ASYMM", 1.0, 0] +Quant8SignedParams = ["TENSOR_QUANT8_ASYMM_SIGNED", 1.0, 0] + +def MakeConditionModel(): + fib = Input("fib", FibType) + i = Input("i", CounterType) + n = Input("n", CounterType) + out = Output("out", BoolType) + model = Model() + model.IdentifyInputs(fib, i, n) + model.IdentifyOutputs(out) + model.Operation("LESS", i, n).To(out) + + quant8 = DataTypeConverter().Identify({ + fib: Quant8Params, + }) + quant8_signed = DataTypeConverter().Identify({ + fib: Quant8SignedParams, + }) + + return SubgraphReference("cond", model), quant8, quant8_signed + +def MakeBodyModel(): + fib = Input("fib", FibType) + i = Input("i", CounterType) + n = Input("n", CounterType) + fib_out = Output("fib_out", FibType) + i_out = Output("i_out", CounterType) + matrix = Parameter("matrix", ["TENSOR_FLOAT32", [1, 2]], [1, 1]) + zero_bias = Parameter("zero_bias", ["TENSOR_FLOAT32", [1]], [0]) + i_minus_2 = Internal("i_minus_2", ["TENSOR_INT32", [1]]) + slice_start = Internal("slice_start", ["TENSOR_INT32", [2]]) + slice_size = Parameter("slice_size", ["TENSOR_INT32", [2]], [1, 2]) + last2 = Internal("last2", ["TENSOR_FLOAT32", [1, 2]]) + new_fib = Internal("new_fib", ["TENSOR_FLOAT32", [1, 1]]) + model = Model() + model.IdentifyInputs(fib, i, n) + model.IdentifyOutputs(fib_out, i_out) + model.Operation("ADD", i, [-2], 0).To(i_minus_2) + model.Operation("MUL", i_minus_2, [0, 1], 0).To(slice_start) + model.Operation("SLICE", fib, slice_start, slice_size).To(last2) + model.Operation("FULLY_CONNECTED", last2, matrix, zero_bias, 0).To(new_fib) + model.Operation("CONCATENATION", fib, new_fib, 1).To(fib_out) + model.Operation("ADD", i, [1], 0).To(i_out) + + quant8 = DataTypeConverter().Identify({ + fib_out: Quant8Params, + fib: Quant8Params, + last2: Quant8Params, + matrix: Quant8Params, + new_fib: Quant8Params, + zero_bias: ["TENSOR_INT32", 1.0, 0], + }) + quant8_signed = DataTypeConverter().Identify({ + fib_out: Quant8SignedParams, + fib: Quant8SignedParams, + last2: Quant8SignedParams, + matrix: Quant8SignedParams, + new_fib: Quant8SignedParams, + zero_bias: ["TENSOR_INT32", 1.0, 0], + }) + + return SubgraphReference("body", model), quant8, quant8_signed + +def Test(n_data, fib_data, add_unused_output=False): + n = Input("n", CounterType) + fib_out = Output("fib_out", ["TENSOR_FLOAT32", [1, len(fib_data)]]) # Known dimensions. + cond, cond_quant8, cond_quant8_signed = MakeConditionModel() + body, body_quant8, body_quant8_signed = MakeBodyModel() + fib_init = Parameter("fib_init", ["TENSOR_FLOAT32", [1, 2]], [1, 1]) + i_init = [2] + outputs = [fib_out] + if add_unused_output: + i_out = Internal("i_out", CounterType) # Unused. + outputs.append(i_out) + model = Model().Operation("WHILE", cond, body, fib_init, i_init, n).To(outputs) + + quant8 = DataTypeConverter().Identify({ + fib_init: Quant8Params, + fib_out: Quant8Params, + cond: cond_quant8, + body: body_quant8, + }) + quant8_signed = DataTypeConverter().Identify({ + fib_init: Quant8SignedParams, + fib_out: Quant8SignedParams, + cond: cond_quant8_signed, + body: body_quant8_signed, + }) + + name = "n_{}".format(n_data) + if add_unused_output: + name += "_unused_output" + example = Example({n: [n_data], fib_out: fib_data}, name=name) + example.AddVariations("relaxed", "float16", quant8, quant8_signed) + example.AddVariations(AllOutputsAsInternalCoverter()) + +for use_shm_for_weights in [False, True]: + Configuration.use_shm_for_weights = use_shm_for_weights + Test(n_data=2, fib_data=[1, 1], add_unused_output=True) + Test(n_data=3, fib_data=[1, 1, 2], add_unused_output=True) + Test(n_data=4, fib_data=[1, 1, 2, 3], add_unused_output=True) + Test(n_data=5, fib_data=[1, 1, 2, 3, 5]) + Test(n_data=6, fib_data=[1, 1, 2, 3, 5, 8]) -- cgit v1.2.3