summaryrefslogtreecommitdiff
path: root/nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_unknown_dimension.example.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_unknown_dimension.example.cpp')
-rw-r--r--nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_unknown_dimension.example.cpp38806
1 files changed, 38806 insertions, 0 deletions
diff --git a/nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_unknown_dimension.example.cpp b/nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_unknown_dimension.example.cpp
new file mode 100644
index 000000000..df943e5b7
--- /dev/null
+++ b/nn/runtime/test/generated/spec_V1_3_cts_only/while_fib_unknown_dimension.example.cpp
@@ -0,0 +1,38806 @@
+// Generated from while_fib_unknown_dimension.mod.py
+// DO NOT EDIT
+// clang-format off
+#include "TestHarness.h"
+using namespace test_helper;
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_2_unused_output", get_test_model_n_2_unused_output());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_2_unused_output_all_tensors_as_inputs", get_test_model_n_2_unused_output_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param45
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param46
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_2_unused_output_all_outputs_as_internal", get_test_model_n_2_unused_output_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_2_unused_output_relaxed", get_test_model_n_2_unused_output_relaxed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param50
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param51
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_2_unused_output_float16", get_test_model_n_2_unused_output_float16());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param55
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param56
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_2_unused_output_quant8", get_test_model_n_2_unused_output_quant8());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({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<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param60
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy16
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param61
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_2_unused_output_quant8_signed", get_test_model_n_2_unused_output_quant8_signed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({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<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param65
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy21
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param66
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_3_unused_output", get_test_model_n_3_unused_output());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_3_unused_output_all_tensors_as_inputs", get_test_model_n_3_unused_output_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param70
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy26
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param71
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out2_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_3_unused_output_all_outputs_as_internal", get_test_model_n_3_unused_output_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_3_unused_output_relaxed", get_test_model_n_3_unused_output_relaxed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param75
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy31
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param76
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out2_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_3_unused_output_float16", get_test_model_n_3_unused_output_float16());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param80
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param81
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_3_unused_output_quant8", get_test_model_n_3_unused_output_quant8());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({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<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param85
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy41
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param86
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out2_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_3_unused_output_quant8_signed", get_test_model_n_3_unused_output_quant8_signed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({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<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param90
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy46
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param91
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out2_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib1
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param15
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_4_unused_output", get_test_model_n_4_unused_output());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_4_unused_output_all_tensors_as_inputs", get_test_model_n_4_unused_output_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param95
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy51
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param96
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out4_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_4_unused_output_all_outputs_as_internal", get_test_model_n_4_unused_output_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_4_unused_output_relaxed", get_test_model_n_4_unused_output_relaxed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<int32_t>({}),
+ .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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param100
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy56
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param101
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out4_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_4_unused_output_float16", get_test_model_n_4_unused_output_float16());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param105
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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<int32_t>({}),
+ .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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param106
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_4_unused_output_quant8", get_test_model_n_4_unused_output_quant8());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({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<int32_t>({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<uint8_t>({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<int32_t>({}),
+ .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<uint8_t>({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<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param110
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy66
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param111
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out4_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_4_unused_output_quant8_signed", get_test_model_n_4_unused_output_quant8_signed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({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<int32_t>({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<int8_t>({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<int32_t>({}),
+ .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<int8_t>({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<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param115
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({}),
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // dummy71
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param116
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out4_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i5
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param18
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param20
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib2
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param24
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5", get_test_model_n_5());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_all_tensors_as_inputs", get_test_model_n_5_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param120
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param121
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out6_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_all_outputs_as_internal", get_test_model_n_5_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_relaxed", get_test_model_n_5_relaxed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_relaxed_all_tensors_as_inputs", get_test_model_n_5_relaxed_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param125
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param126
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out6_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_relaxed_all_outputs_as_internal", get_test_model_n_5_relaxed_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_float16", get_test_model_n_5_float16());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_float16_all_tensors_as_inputs", get_test_model_n_5_float16_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param130
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param131
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_float16_all_outputs_as_internal", get_test_model_n_5_float16_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_quant8", get_test_model_n_5_quant8());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_quant8_all_tensors_as_inputs", get_test_model_n_5_quant8_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({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<int32_t>({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<uint8_t>({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<uint8_t>({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<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param135
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param136
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out6_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_quant8_all_outputs_as_internal", get_test_model_n_5_quant8_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_quant8_signed", get_test_model_n_5_quant8_signed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_quant8_signed_all_tensors_as_inputs", get_test_model_n_5_quant8_signed_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({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<int32_t>({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<int8_t>({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<int8_t>({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<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param140
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param141
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out6_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i6
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n10
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n11
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param27
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param29
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib3
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param33
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_5_quant8_signed_all_outputs_as_internal", get_test_model_n_5_quant8_signed_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6", get_test_model_n_6());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_all_tensors_as_inputs", get_test_model_n_6_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param145
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param146
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out8_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_all_outputs_as_internal", get_test_model_n_6_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_relaxed", get_test_model_n_6_relaxed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_relaxed_all_tensors_as_inputs", get_test_model_n_6_relaxed_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({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<int32_t>({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<float>({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<float>({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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param150
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<int32_t>({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<int32_t>({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<float>({}),
+ .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<float>({0.0f}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // param151
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out8_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<float>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT32,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<float>({}),
+ .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<float>({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<float>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<float>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_relaxed_all_outputs_as_internal", get_test_model_n_6_relaxed_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_float16", get_test_model_n_6_float16());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_float16_all_tensors_as_inputs", get_test_model_n_6_float16_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param155
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({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<int32_t>({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<int32_t>({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_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // param156
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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 = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_FLOAT16,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int32_t>({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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_float16_all_outputs_as_internal", get_test_model_n_6_float16_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_quant8", get_test_model_n_6_quant8());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_quant8_all_tensors_as_inputs", get_test_model_n_6_quant8_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({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<int32_t>({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<uint8_t>({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<uint8_t>({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<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param160
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<int32_t>({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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // param161
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out8_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<uint8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM,
+ .zeroPoint = 0
+ }, { // i_out7
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<uint8_t>({}),
+ .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<uint8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_quant8_all_outputs_as_internal", get_test_model_n_6_quant8_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_quant8_signed", get_test_model_n_6_quant8_signed());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_quant8_signed_all_tensors_as_inputs", get_test_model_n_6_quant8_signed_all_tensors_as_inputs());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({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<int32_t>({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<int8_t>({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<int8_t>({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<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param165
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_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_unknown_dimension
+
+namespace generated_tests::while_fib_unknown_dimension {
+
+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<uint32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // body4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<uint32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::SUBGRAPH,
+ .zeroPoint = 0
+ }, { // fib_init4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int32_t>({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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({0}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // param166
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // fib_out8_new
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 0,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i8
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n13
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // out4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<bool8>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.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<int8_t>({}),
+ .dimensions = {1, 0},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 1.0f,
+ .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
+ .zeroPoint = 0
+ }, { // i9
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
+ .numberOfConsumers = 2,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // n14
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int8_t>({}),
+ .dimensions = {1, 0},
+ .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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
+ .numberOfConsumers = 0,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param36
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({-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<int32_t>({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<int32_t>({}),
+ .dimensions = {1},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::TENSOR_INT32,
+ .zeroPoint = 0
+ }, { // param38
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // slice_start4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({}),
+ .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<int32_t>({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<int8_t>({}),
+ .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<int8_t>({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<int32_t>({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<int32_t>({0}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // new_fib4
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int8_t>({}),
+ .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<int32_t>({1}),
+ .dimensions = {},
+ .isIgnored = false,
+ .lifetime = TestOperandLifeTime::CONSTANT_COPY,
+ .numberOfConsumers = 1,
+ .scale = 0.0f,
+ .type = TestOperandType::INT32,
+ .zeroPoint = 0
+ }, { // param42
+ .channelQuant = {},
+ .data = TestBuffer::createFromVector<int32_t>({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<int32_t>({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_unknown_dimension_n_6_quant8_signed_all_outputs_as_internal", get_test_model_n_6_quant8_signed_all_outputs_as_internal());
+
+} // namespace generated_tests::while_fib_unknown_dimension
+